Skip to content

feat(navigation): restore address book navigation in sidebar#5421

Open
pagaille wants to merge 1 commit into
nextcloud:mainfrom
pagaille:fix/addressbook-navigation
Open

feat(navigation): restore address book navigation in sidebar#5421
pagaille wants to merge 1 commit into
nextcloud:mainfrom
pagaille:fix/addressbook-navigation

Conversation

@pagaille

@pagaille pagaille commented Jul 1, 2026

Copy link
Copy Markdown

Fixes #3647

Summary

Address books used to be listed in the left sidebar (via the now-deleted SettingsSection.vue), allowing users to click on a book to filter their contacts. This was removed in bd536c0 when settings were migrated to a modal dialog, without any navigation replacement — making the "New address book" feature essentially invisible and unusable.

Changes:

  • Add an "Address books" section in the sidebar listing all enabled address books with a contact counter
  • Add ROUTE_ADDRESSBOOK constant and addressbook/:selectedAddressbook + addressbook/:selectedAddressbook/:selectedContact routes
  • Add selectedAddressbook to RouterMixin
  • Filter contactsList by the selected address book when on the addressbook route
  • New contacts created while an address book is selected are saved into that address book (not always the default one)
  • Fix Missing required param "selectedGroup" errors in selectFirstContactIfNone(), ContactsListItem, and ContactDetails (moveContactToAddressbook / copyContactToAddressbook) when navigating without a selectedGroup param

Test plan

  • Create a new address book via Settings → it appears immediately in the left sidebar
  • Click an address book in the sidebar → only its contacts are shown
  • Click a contact in the filtered list → contact detail opens correctly
  • Click "New contact" while an address book is selected → contact is saved in that address book
  • Move/copy a contact to another address book → no routing error
  • Disabling an address book via Settings → it disappears from the sidebar
  • Existing group / circle / chart navigation is unaffected

🤖 Generated with Claude Code

@github-actions

Copy link
Copy Markdown

Hello there,
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.

We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process.

Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6

Thank you for contributing to Nextcloud and we hope to hear from you soon!

(If you believe you should not receive this message, you can add yourself to the blocklist.)

@hamza221 hamza221 added enhancement New feature or request 3. to review Waiting for reviews labels Jul 16, 2026
@codecov

codecov Bot commented Jul 16, 2026

Copy link
Copy Markdown

@hamza221

hamza221 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Thank you for the PR LGTM,
My assumption was that the list would be collapsable but let's see what our designer think of it .
Maybe also a + button to create a new address-book would make sense here
image
cc @nimishavijay

@hamza221
hamza221 requested a review from nimishavijay July 16, 2026 12:39

@hamza221 hamza221 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please rebase and run npm run lint:fix

Address books used to be listed in the left sidebar (via the now-deleted
SettingsSection.vue), allowing users to click on a book to filter their
contacts. This was removed in bd536c0 when settings were migrated to a
modal dialog, without any navigation replacement — making the "New address
book" feature essentially invisible and unusable.

Changes:
- Add "Address books" section in RootNavigation with one item per enabled
  address book and a contact counter
- Add ROUTE_ADDRESSBOOK constant and addressbook/:selectedAddressbook and
  addressbook/:selectedAddressbook/:selectedContact routes
- Add selectedAddressbook to RouterMixin
- Filter contactsList by selected address book when on the addressbook route
- New contacts created while an address book is selected are saved into
  that address book instead of the default one
- Fix "Missing required param selectedGroup" errors in
  selectFirstContactIfNone(), ContactsListItem, and ContactDetails
  (moveContactToAddressbook / copyContactToAddressbook) when navigating
  without a selectedGroup param

Fixes nextcloud#3647
Assisted-by: Claude:claude-sonnet-4-6

Signed-off-by: Matthieu <webmail@gaillet.be>
@pagaille
pagaille force-pushed the fix/addressbook-navigation branch from 3044517 to 49132fd Compare July 16, 2026 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review Waiting for reviews enhancement New feature or request feedback-requested

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Show addressbooks

2 participants